﻿// --------------------------------------------------------------------------------------------------------------------
// <copyright file="IPoolMember.cs" company="">
//   
// </copyright>
// <summary>
//   The PoolMember interface.
// </summary>
// --------------------------------------------------------------------------------------------------------------------
namespace F5.BigIp.LocalTrafficManager.Interfaces
{
    using System;

    /// <summary>The PoolMember interface.</summary>
    public interface IPoolMember
    {
        #region Public Properties

        /// <summary>Gets or sets the IP address.</summary>
        string Address { get; set; }

        /// <summary>Gets or sets the LoadBalancer.</summary>
        LoadBalancer LoadBalancer { get; set; }

        /// <summary>Gets or sets the last update.</summary>
        DateTime LastUpdate { get; set; }

        /// <summary>Gets the name.</summary>
        string Name { get; }

        /// <summary>Gets the path.</summary>
        string Path { get; }

        /// <summary>Gets or sets the pool.</summary>
        IPool Pool { get; set; }

        /// <summary>Gets or sets the port.</summary>
        int Port { get; set; }

        /// <summary>Gets or sets the statistics.</summary>
        PoolMemberStatistics Statistics { get; set; }

        /// <summary>Gets or sets the status.</summary>
        PoolMemberStatus Status { get; set; }

        #endregion
    }
}